package gui;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import CUENTA.Cuenta;
import Motor.Modelo;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.Vector;

@SuppressWarnings("serial")
public class CuentasPanel extends JPanel {
	private JButton btnNuevaCuenta;


	private static JTable table;

	/**
	 * Create the panel.
	 */
	public CuentasPanel(final Modelo mod) {
		super();
		setLayout(null);
		table = new JTable();
		updateTabla(mod);
		
		btnNuevaCuenta = new JButton("Nueva cuenta");
		btnNuevaCuenta.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JDialog cuenta = new NuevaCuentaWindow(mod);
				cuenta.setVisible(true);
				cuenta.setLocationRelativeTo(null);
				
			}
		});
		btnNuevaCuenta.setBounds(10, 21, 112, 23);
		add(btnNuevaCuenta);
		/*
		btnTarjeta = new JButton("Tarjeta");
		btnTarjeta.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JDialog tarjeta = new NuevaTarjetaWindow(mod);
				tarjeta.setVisible(true);
				tarjeta.setLocationRelativeTo(null);
			}
		});
		btnTarjeta.setBounds(243, 21, 112, 23);
		add(btnTarjeta);	
		*/
		
		table.setBounds(10, 55, 345, 200);
		add(table);

	}
	
	public static void updateTabla(Modelo mod){
		//table.removeAll();
		
		DefaultTableModel tb = getModTabla();
		
		ArrayList<Cuenta> cuentas = mod.getCuentas();
		for(Cuenta c:cuentas){
			int a=c.get_cantidad();
			Vector <String> v = new Vector<String>();
			v.add(c.get_numeroCuenta());
			v.add(c.get_entidad().getNombre());
			v.add(Integer.toString(a));
			tb.addRow(v);
		}
		
		table.setModel(tb);
	}

	public static DefaultTableModel getModTabla(){
		String[] cabecera = {"Cuenta", "Entidad", "Cantidad"};
		DefaultTableModel tb=new DefaultTableModel(new Object[][] {cabecera}, cabecera);
		return tb;
	}
	
}
